This invention relates to a method of displaying a three-dimensional image of an object which is expressed in voxel-based representation, and to a method of manipulating a three-dimensional object image on the screen in displaying the object image.
Three-dimensional image data is given in the form of cubic picture elements in a three-dimensional space or a three-dimensional array (three-dimensional lattice) of gray values, for example. A cubic picture element or the element of a three-dimensional array is termed "voxel". Applications of the three-dimensional image display technique include the CT image analysis (medical and industrial), pathological specimen imaging, and variable-focus microscopic imaging.
A projection image of an object, which is provided in the form of voxel-wise three-dimensional image data, seen at an arbitrary viewing angle is displayed in the following procedure. First, a viewpoint is set at an arbitrary position in a three-dimensional space, and a plane on which the viewpoint is located is defined as a "display plane". Next, the coordinate system is transformed such that the direction normal to the display plane is parallel to the z axis. This coordinate transformation is carried out successively for coordinate values of voxels inside the object, and resulting z-axis values are written to a two-dimensional buffer which is different from the memory of the three-dimensional image data. This buffer is called "depth buffer" or "z-buffer". In writing z-axis values to the z-buffer, a newly written z-axis value is compared with stored values in the z-buffer (Z-axis values of voxels resulting from the coordinate transformation), and a z-axis value nearer to the viewpoint is rewritten to the image memory. This operation is repeated so that information of the voxels at the back of the object is removed (hidden surface removal). Eventually, z-axis values on the object surfaces which can be seen from the display plane are stored in the z-buffer. The z-axis values represent the distances from the display plane to the portions of the object, and accordingly a two-dimensional image in the z-buffer is called a "range image".
There has been a method of displaying a three-dimensional image of an object which is expressed in voxel-wise data, as described in the article of Technical Report of the Information Processing Society of Japan entitled "Graphics and CAD (computer aided design)", 43-4(1990), pp. 1-9, for example. This publication offers the application of the graphics technology to medical treatment, particularly surgical simulation. The method described in this report will be explained in brief. First, voxel-wise data of an object is transformed into the run-based expression. Next, the end points of the run are rendered the coordinate transformation so that three-dimensional line segments in the coordinate system which include the display plane are generated. Next, the Z axis values (distances) of the three-dimensional line segments measured from the display plane are selected in the z-buffer to thereby produce a range image on the display plane. Finally, a shading process is performed based on the range image and a complete three-dimensional image is displayed.
An object model created by a computer or the like is displayed as three-dimensional images seen from every direction and the features of the object are recognized. FIG. 8 shows an example of the procedure. A set of three-dimensional source image data 211 includes information on the object useful for display such as the location and shape of the object, and it is expressed in terms of the three-dimensional coordinate system (having the x, y and z axes) for example. Initially, the object is rotated around an intended rotation axis (a coordinate axis in general) at an intended angle (step 212). The rotated object image is projected onto a predetermined plane (i.e., display plane) (step 213), the projected image is rendered the hidden surface removal and shading processes (step 214), and a complete image is displayed on the screen (step 215).
Conventionally, a rotational angle of the object is specified through direct numeric input on the keyboard, or through the entry of a mark on the form chart as described in the article of the "1991 Spring National Convention Record" of the Institute of Electronics, Information and Communication Engineers, part 7, pp. 407-408, for example.